package plp.functional2.primitive;

import plp.expressions2.expression.Id;
import plp.expressions2.memory.AmbienteCompilacao;
import plp.expressions2.memory.AmbienteExecucao;
import plp.expressions2.memory.VariavelJaDeclaradaException;
import plp.expressions2.memory.VariavelNaoDeclaradaException;

public class SequenciaPrimitiva implements Primitiva {

        private Primitiva primitiva1;
        private Primitiva primitiva2;

        public SequenciaPrimitiva(Primitiva primitiva1, Primitiva primitiva2) {
                this.primitiva1 = primitiva1;
                this.primitiva2 = primitiva2;
        }

        public  void executar(AmbienteExecucao ambiente) {
                Primitiva cp1 = (Primitiva) primitiva1;
                Primitiva cp2 = (Primitiva) primitiva2;
                cp1.executar(ambiente);                
                cp2.executar(ambiente);
                return; 
        }

		public boolean checaTipo(AmbienteCompilacao amb)
				throws VariavelNaoDeclaradaException,
				VariavelJaDeclaradaException {
			// TODO Auto-generated method stub
			return false;
		}

		public void setIdProcess(Id idProcess) {
			primitiva1.setIdProcess(idProcess);
			primitiva2.setIdProcess(idProcess);
		}
}